博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 模板方法模式
阅读量:5045 次
发布时间:2019-06-12

本文共 1288 字,大约阅读时间需要 4 分钟。

父类中定义算法骨架,子类中实现和改变一些算法

例:导航的实现

//算法骨架 var formateStr=function (param, data) {
return param.replace(/\{#(\w+)#\}/g,function (match, key) {
return typeof data[key]===undefined? "":data[key] }) }; var Nav=function (data) {
var _this=this; _this.item='
  • {#content#}
  • '; _this.html='
      '; for (var i=0,l=data.length;i
    //基础导航  var obNav=document.getElementById('nav');     obNav.innerHTML=Nav([         {
    hrefUrl : 'http://www.baidu.com', content : '百度一下' }, {
    hrefUrl : 'http://www.zhihu.com', content : '知乎一下' } ]);
    //带提示消息的导航 var infoNav=function (data) {
    var _this=this; _this.info='{#num#}'; for (var i=data.length-1;i>=0;i--){
    data[i].content+=formateStr(_this.info,data[i]) } return Nav.call(this,data) }; var objNav=document.getElementById('nav'); objNav.innerHTML=infoNav([ {
    hrefUrl : 'http://www.baidu.com', content : '百度一下', title : '百度', num : '10', sign : 'sign="1"' }, {
    hrefUrl : 'http://www.zhihu.com', content : '知乎一下', title : '知乎', num : '10', sign : 'sign="2"' } ]);

    转载于:https://www.cnblogs.com/redn/p/8119419.html

    你可能感兴趣的文章
    目标文件格式分析工具: ar,nm,objdump,objcopy,readelf 之(nm,objdump,readelf篇)
    查看>>
    git 常用命令
    查看>>
    实现Linux下的ls -l命令
    查看>>
    js 数组、对象转json 以及json转 数组、对象
    查看>>
    Ubuntu中Google Chrome安装
    查看>>
    solr后台【web页面】增删改查
    查看>>
    MyBatis4:动态SQL
    查看>>
    hexo博客搭建笔记
    查看>>
    javascript中个别方法注意事项
    查看>>
    socket基本
    查看>>
    $.ajax() 的参数
    查看>>
    Codeforces Round #447 (Div. 2)E. Ralph and Mushrooms
    查看>>
    《Erlang程序设计》附录D 套接字应用程序
    查看>>
    Python字符编码的发展、cmd寻找路径
    查看>>
    IOS 获取系统相册和拍照使用HXPhotoPicker 返回页面时页面上移被nav遮住问题
    查看>>
    Spring(Bean)6
    查看>>
    存储结构与磁盘划分
    查看>>
    Spring Security @PreAuthorize 拦截无效
    查看>>
    近似与精确——《狂人C》习题解答15(第三章习题5)
    查看>>
    iOS开发之 3D Touch 开发
    查看>>